#ifndef OBJECT_H
#define OBJECT_H

/*
* Object 类是 DTLib 中数据结构类的顶层父类
* Object 类用于统一动态内存申请的行为
* 在堆中创建 Object 子类的对象，失败时返回 NULL 值
* Object 类为纯虚父类，所有子类都能进行动态类型识别
*/

namespace DTLib
{

class Object
{
public:
    void* operator new (unsigned int size) throw();
    void operator delete (void* p);
    void* operator new[] (unsigned int size) throw();
    void operator delete[] (void* p);
    virtual ~Object() = 0;
};

}
#endif // OBJECT_H

